package com.un.ebs.invoice.domain;

import java.util.Date;
import com.un.ebs.invoice.enums.InvoiceCashTypeEnum;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.stereotype.Component;
import lombok.Data;
import com.un.ebs.core.metadata.DbField;

/**
 * (InvoiceCashNote)表实体类
 *
 * @author makejava
 * @since 2021-01-25 14:28:40
 */
@Data
@Component
@TableName("tb_invoice_cash_note")
@SuppressWarnings("serial")
public class InvoiceCashNote extends Model<InvoiceCashNote> {

    @TableId(value = "id", type = IdType.UUID)
    private String id;
    
                
    @DbField(name = "ent_id",  length = 40 , precision = 0)
    private String entId;
                
    @DbField(name = "cash_money",  length = 18 , precision = 2)
    private Double cashMoney;
                
    @DbField(name = "cash_time",  length = -1 , precision = 0)
    private Date cashTime;
                
    @DbField(name = "personnel_id",  length = 40 , precision = 0)
    private String personnelId;
                
    @DbField(name = "personnel_name",  length = 100 , precision = 0)
    private String personnelName;
            
    @TableLogic        
    @DbField(name = "is_delete",  length = -1 , precision = 0)
    private Boolean isDelete;
                
    @DbField(name = "tenant_id",  length = 100 , precision = 0)
    private String tenantId;
                
    @DbField(name = "cash_type",  length = -1 , precision = 0)
    private InvoiceCashTypeEnum cashType;
                
    @DbField(name = "remark",  length = 200 , precision = 0)
    private String remark;
                
    @DbField(name = "money_type",  length = 100 , precision = 0)
    private String moneyType;
        
    @TableField(fill = FieldFill.INSERT)            
    @DbField(name = "create_at",  length = 40 , precision = 0)
    private String createAt;
        
    @TableField(fill = FieldFill.INSERT)            
    @DbField(name = "create_at_name",  length = 100 , precision = 0)
    private String createAtName;
        
    @TableField(fill = FieldFill.INSERT)            
    @DbField(name = "create_time",  length = -1 , precision = 0)
    private Date createTime;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
    
}